<?php

// Incluye la fachada de base de datos.
include_once($_SERVER['DOCUMENT_ROOT']."/ProyectoSec1/FachadaBD.php");

class PersonaAfectada {

    //Modelo de representacion.
    var $nombre;
    var $ubicado; // Booleano que dice si la persona esta ubicada o no.
    var $ci;
    var $contacto; // Es una lista de personas.
    var $telefono; // Es una lista de numeros.
    var $foto;
    var $fechaDesaparicion;

    var $descripcion; // Obligatorio.
    var $id; // Obligatorio.

    //Constructor de persona afectada.
    function __construct($id=NULL, $descripcion=NULL, $nombre=NULL, $ubicado=NULL,
                         $ci=NULL, $contacto=NULL, $telefono=NULL,
                         $foto=NULL, $fechaDesaparicion=NULL){

        // Setea las variables que vengan como parametros.
        $this->id = $id;
        $this->descripcion = $descripcion;
       
        // Atributos opcionales.
        $this->nombre = $nombre;
        $this->ubicado = $ubicado;
        $this->ci = $ci;
        $this->contacto = $contacto;
        $this->telefono = $telefono;
        $this->foto = $foto;
        $this->fechaDesaparicion = $fechaDesaparicion;
    }

    function getNombre(){
        return $this->nombre;
    }

    function getCedula(){
       return $this->ci;
    }

    function getId(){
       return $this->id;
    }

    function getUbicado(){
       return $this->ubicado;
    }

    function getContacto(){
       return $this->contacto;
    }

    function getTelefono(){
       return $this->telefono;
    }

    function getFecha(){
       return $this->fechaDesaparicion;
    }

    function getDescripcion(){
       return $this->descripcion;
    }

    function getFoto(){
       return $this->foto;
    }

    // Inserta una persona Afectada en la base de datos.
    function insertarPersonaAfectada(){

        //Llama a la fachada de base de datos.
        $fbd = FachadaBD::getInstance();
        
        // Inserta en la base de datos la instancia actual de la persona
        // afectada.
        $fbd->insertarPersonaAfectada($this);
    }

    // Elimina esta instancia de la base de datos.
    function eliminarPersonaAfectada(){

        //Llama a la fachada de base de datos y se inserta alla.
        $fbd = FachadaBD::getInstance();

        // Elimina de la base de datos la instancia actual de la persona
        // afectada.
        if(!$fbd->eliminarPersonaAfectada($this)){
               return false;
        }
        return true;


    }
    
}
?>
